#ifndef _HERO_H_
#define _HERO_H_
#include <string>
#include "Headers.h"
#include "Item.h"
#include "DoransBlade.h"
#include "DoransShield.h"

using namespace std;

class Hero{

public:
	Hero(int, int, int);
	double getAD() const;       // calculate current AD
	double getDefense() const;  // calculate current defense
	int getHP()const;          // return current HP
	int getMaxHP()const;       // calculate current max HP
    string getName() const;
	void addItem(Item*);       // NULL-check is necessary
	void decreaseHP(int);      // decrease current HP
	void increaseDefense(int); // increase basic defense
	void increaseAD(int);      // increase basic AD
    virtual void action();     // special ability

	virtual ~Hero();

private:
	int itemCount;
	int basic_HP;
	int basic_AD;
	int basic_Defense;
	int HP; // current HP
    int max_HP;
	Item* items[6];
protected:
    string _name;

};

#endif
